package com.bsoft.gol.hcb.service;

import com.bsoft.gol.hcb.bean.guide.ClinicGuideCheckDTO;
import ctd.controller.exception.ControllerException;
import ctd.util.annotation.RpcService;
import hcn.base.clinicguide.ClinicGuideCheckVO;
import hcn.base.clinicguide.ClinicGuideTipDTO;
import hcn.base.clinicguide.ClinicGuideTipVO;
import hcn.protocol.brandnew.dengji.menzhenyuyue.QueryUndeliveredDrugsXmlRequest;
import hcn.response.PrescriptionList;

import java.util.List;

/**
 * @Author: lanyu
 * @Description: 就诊指南service
 * @Date: create in 2022/8/10 17:21
 */
public interface ClinicGuideService {


    /**
     * 患者待发药记录查询
     * @param xmlRequest
     * @return
     * @throws ControllerException
     */
    @RpcService
    List<PrescriptionList> queryDrugTakingList(QueryUndeliveredDrugsXmlRequest xmlRequest) throws ControllerException;

    @RpcService
    ClinicGuideCheckVO getAllInspectionReport(ClinicGuideCheckDTO dto) throws ControllerException;

    @RpcService
    ClinicGuideTipVO getCheckTip(ClinicGuideTipDTO tipDto) throws ControllerException;

    /**
     * 就诊指南中查询待取药列表数量
     * @param tipDto
     * @return
     * @throws ControllerException
     */
    @RpcService
    ClinicGuideTipVO drugTakingTip(ClinicGuideTipDTO tipDto)throws ControllerException;

    /**
     * 签到取号获取未完成的预约记录提醒
     * @param dto
     * @return
     * @throws ControllerException
     */
    @RpcService
    ClinicGuideTipVO currentRegRecordTip(ClinicGuideTipDTO dto) throws ControllerException;

    /**
     * 查询用户是否正在排队
     * @param dto
     * @return
     */
    @RpcService
    public ClinicGuideTipVO queryHospitalQueueTip(ClinicGuideTipDTO dto);
}
